package com.aqie.rabbit.service;

import com.aqie.rabbit.bean.db.Group;
import com.aqie.rabbit.bean.db.GroupMember;
import com.aqie.rabbit.bean.db.User;

import java.util.List;
import java.util.Set;

public interface IGroupMemberService {

    /**
     * 获取一个群的所有成员
     * @param group 群
     * @return 群成员集合
     */
    Set<GroupMember> getMembers(Group group);


    /**
     * 获取一个人加入的所有群
     *  群用户列表所有自己 和 群关联记录
     * 从记录中获取群信息
     * @param user 通过user 查询
     * @return 群成员集合
     */
    Set<GroupMember> getMembers(User user);

    /**
     * 获取群内一个具体成员信息
     * @param user 群用户
     * @param groupId 群id
     * @return 群内成员信息
     */
    GroupMember getMember(User user, String groupId);

    // 给群添加成员
    Set<GroupMember> addMembers(Group group, List<User> insertUsers);
}
